package com.earthea.scaffold.common.enums;

import lombok.Getter;

@Getter
public enum CacheEnum {
    /**
     * 登录用户 redis key
     */
    LOGIN_TOKEN("login_tokens", "用户信息"),
    /**
     * 参数管理 cache key
     */
    SYS_CONFIG("sys_config", "配置信息"),
    /**
     * 字典管理 cache key
     */
    SYS_DICT("sys_dict", "数据字典"),
    /**
     * 验证码 redis key
     */
    CAPTCHA_CODE("captcha_codes", "验证码"),
    /**
     * 防重提交 redis key
     */
    REPEAT_SUBMIT("repeat_submit", "防重提交"),
    /**
     * 限流 redis key
     */
    RATE_LIMIT("rate_limit", "限流处理"),
    /**
     * 登录账户密码错误次数 redis key
     */
    PWD_ERR_CNT("pwd_err_cnt", "密码错误次数"),
    ;

    private final String prefix;

    private final String name;

    CacheEnum(String prefix, String name) {
        this.prefix = prefix;
        this.name = name;
    }

    public String getCacheKey(String suffix) {
        return this.prefix + ":" + suffix;
    }

    public String getAllCacheKey() {
        return this.prefix + ":*";
    }

}
